package com.lancoo.ccas52.arrangecourse.AlgDataSource.dataprocess;

import com.lancoo.ccas52.pojo.dto.ArrangeCourseRuleDto;
import com.lancoo.ccas52.pojo.dto.ArrangePeriod;
import com.lancoo.ccas52.pojo.dto.ArrangeTeacherRuleDto;
import com.lancoo.ccas52.pojo.dto.ArrangeTeachingClassDto;
import com.lancoo.ccas52.pojo.vo.Campus;

import java.util.HashMap;
import java.util.List;

/**
 * @Description 教室课时分组信息服务
 * @Author Fortysun
 * @Date 2023/4/13 19:34
 **/
public interface TeachingClassDataService {
    /**
     * 获取所有的教学班信息列表
     * @return
     */
    HashMap<String, List<ArrangeTeachingClassDto>> getTeachingClassMap();
    /**
     * 从每个院系选几个课程，设置禁排
     * @param timeslotList 课时信息列表
     * @return
     */
    List<ArrangeCourseRuleDto> getCourseRuleList(List<ArrangePeriod> timeslotList);
    /**
     * 从每个院系选几个教师，设置禁排、一定排
     * @return
     */
    List<ArrangeTeacherRuleDto> getTeacherRuleList(List<ArrangePeriod> timeslotList);
    /**
     * 返回校区信息
     * @return
     */
    List<Campus> getCampusList();
}
